package com.feishi.core.util.common.bean;

/**
 * @version 1.0
 * @auth caixq
 * @time 18-5-17 10:37
 **/
public interface CallFunction {
    interface Function<F>{
        F execute();
    };
    interface Function1<F,T>{
        F execute(T t);
    };
    interface Function2<F,T,R>{
        F execute(T t, R r);
    };
    interface Function3<F,T,R,E>{
        F execute(T t, R r, E e);
    };
    interface voidFunction{
        void execute();
    };
    interface voidFunction1<T>{
        void execute(T t);
    };
    interface voidFunction2<T,R>{
        void execute(T t, R r);
    };
    interface voidFunction3<T,R,E>{
        void execute(T t, R r, E e);
    };
}
